package com.smedi.ismedi.inmail.api.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 总院发布的通知公告请求
 *
 * @author jiangqinxuan
 * @date 2021/07/27
 */
@Data
@ApiModel(value = "总院发布的通知公告请求")
public class NewAnnouncementRequest implements Serializable {
    @ApiModelProperty(value = "通知公告标题", required = true, example = "假期安全")
    @Size(max = 50)
    @NotBlank(message = "标题不为空！")
    private String title;

    @ApiModelProperty(value = "通知公告简介", required = true, example = "临近十一假期，做好假前安全宣讲工作")
    @Size(max = 500)
    @NotBlank(message = "简介不为空！")
    private String content;

    @ApiModelProperty(value = "发布人id", required = true, example = "1002")
    @NotNull(message = "发布人id不为空！")
    private Long publishUserId;

    @ApiModelProperty(value = "发布人名称", required = true, example = "李四")
    @NotBlank(message = "发布人名称不为空！")
    private String publishUserName;

    @ApiModelProperty(value = "发布人单位名称", required = true, example = "总院")
    @NotBlank(message = "发布人单位名称不为空！")
    private String hrOrganizationName;

    @ApiModelProperty(value = "主体院名称")
    //@NotEmpty(message = "主体院不为空！")
    private List<String> organizationNameList;

    @ApiModelProperty(value = "项目名称")
    //@NotEmpty(message = "项目不为空！")
    private List<String> projectNameList;

    @ApiModelProperty(value = "项目id列表")
    //@NotEmpty(message = "项目id不为空！")
    private List<Long> projectIdList;

    @ApiModelProperty(value = "通知公告附件key")
    private List<String> attachmentKeyList;

    @ApiModelProperty(value = "通知公告附件名称")
    private List<String> attachmentNameList;

    @ApiModelProperty(value = "通知公告附件后缀名")
    private List<String> attachmentExtensionList;

    @ApiModelProperty(value = "通知公告是否限内部")
    private Boolean internal;

    @ApiModelProperty(value = "通知公告是否由总院发布", required = true)
    @NotNull(message = "发布者角色不为空")
    private Boolean bySuperiorOrganization;
}